1
Plan maestro del proyecto: Creando un grep impulsado por Rust
AI034Lesson 12
00:00

En el mundo de Rust, una herramienta de línea de comandos robusta no es simplemente un único script; es un plan cuidadosamente orquestado Plan maestro del proyecto. Para construir una herramienta como grep, dividimos nuestro trabajo entre un Crate binario y un Crate de biblioteca.

1. La metáfora de la máquina de café

Imagina una máquina de café de gama alta. El lib.rs contiene los mecanismos internos para calentar agua y moler granos—la "lógica del motor". El main.rs es el botón externo que presiona el usuario—la "interfaz". Al mantenerlos separados, un técnico puede probar el calentador (biblioteca) sin tener que presionar el botón físico (binario) cada vez.

2. Armado del motor

Comenzamos con $ cargo new minigrep. Aunque esto crea un main.rs, debemos introducir manualmente src/lib.rs. Esta división arquitectónica asegura que nuestra lógica central de búsqueda permanezca desacoplada del análisis de la interfaz de línea de comandos, lo que permite pruebas más fáciles y modularidad.

Crate binariosrc/main.rs(La "Encendido")Crate de bibliotecasrc/lib.rs(El "Motor")Llama a la lógica

3. Modularidad verificable

Al mover la lógica a lib.rs, utilizamos el marco de prueba de Rust para llamar a funciones de biblioteca en un entorno controlado. Usamos use minigrep; en nuestro binario para importar el motor mientras mantenemos aislada la lógica de análisis de línea de comandos.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>